package com.situ.gym.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.situ.gym.pojo.User;
import com.situ.gym.pojo.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.situ.gym.pojo.query.UserQuery;
import com.situ.gym.pojo.vo.ChartCountVO;
import com.situ.gym.pojo.vo.WeekDayCountVO;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ${author}
 * @since 2025-08-22
 */
public interface IUserService extends IService<User> {

    List<WeekDayCountVO> selectUserCount(Date date);

    IPage<User> list(UserQuery userQuery);

    void deleteAll(Integer[] ids);

    List<ChartCountVO> selectUserCount();

    User selectByName(String name);

    Map<String, Object> selectUserPermissionInfoById(Integer id);

    Map<String, Object> selectAssignRole(Integer userId);

    void assignRole(Long userId, Long[] roleIds);
}
